home *** CD-ROM | disk | FTP | other *** search
/ PCMania 21 / PCMania CD21.nrg / pcmania / magia21 / programa.bas < prev   
BASIC Source File  |  1994-04-28  |  3KB  |  75 lines

  1. 'El mundo de la margaritas
  2.  
  3. SCREEN 9
  4. COLOR , 3                    'Se define el color de la parte superior del monitor
  5. LINE (0, 210)-(639, 210), 1
  6. PAINT (300, 300), 1, 1       'Se define el color de la parte inferior
  7. LINE (0, 330)-(640, 330)     'Esta línea señala 0º C de temperatura
  8.  
  9. 'Se asignan valores a las variables y constantes
  10. luminosidad! = .3   'Luminosidad inicial del Sol
  11. albedo! = .5        'Albedo del suelo desnudo
  12. incremento! = .03   'Incremento de la luminosidad en cada vuelta del bucle
  13.  
  14. DIM suma%(15)       'Se dimensionan los colores de las margaritas
  15.  
  16. 'Se calcula la temperatura anterior en un planeta sin y con
  17. 'margaritas respectivamente
  18. temperatura1a! = 50 * (luminosidad! - incremento!) - 20
  19. temperatura2a! = 50 * (luminosidad! - incremento!) - 20
  20.  
  21. 'Empieza el bucle principal
  22. DO
  23.         contador% = contador% + 1
  24.        
  25.         'Se calcula la temperatura en ausencia de margaritas
  26.         temperatura1! = 50 * luminosidad! - 20
  27.        
  28.         'Ahora la temperatura en un planeta con margaritas
  29.         temperatura2! = 25 * luminosidad! / albedo! - 20
  30.        
  31.         'Se imprimen ambos valores en pantalla
  32.         LOCATE 16, 1: COLOR 15: PRINT "Temperatura sin margaritas "; INT(temperatura1! * 100) / 100
  33.         LOCATE 17, 1: COLOR 15: PRINT "Temperatura con margaritas "; INT(temperatura2! * 100) / 100
  34.  
  35.         sumatotal% = 0
  36.         ERASE suma%
  37.  
  38.         'Se abre un bucle doble para asignar un color a cada margarita
  39.         'según la temperatura
  40.         FOR a% = 1 TO 15                'Anchura
  41.                 FOR l% = 1 TO 80        'Longitud
  42.                         n! = RND
  43.                        
  44.                         'num% es el número del color
  45.                         num% = INT(temperatura1! / 5 + 2 * (n! - .5)) + 7
  46.  
  47.                         'Si el color es menor que 8 (negro) o mayor que 15 (blanco)
  48.                         'la temperatura es muy baja o muy alta para que crezcan
  49.                         'margaritas, asi que se pintan del color del suelo
  50.                         IF num% < 8 OR num% > 15 THEN num% = 3
  51.                        
  52.                         LOCATE a%, l%: COLOR num%: PRINT CHR$(5)
  53.                         suma%(num%) = suma%(num%) + 1
  54.                 NEXT
  55.         NEXT
  56.  
  57.         'Se suman los albedos de todas las margaritas
  58.         FOR num% = 8 TO 15
  59.         sumatotal% = sumatotal% + suma%(num%) * (.33 + .067 * (num% - 8))
  60.         NEXT
  61.  
  62.         'Se calcula el albedo promedio, tomando en cuenta también el del suelo
  63.         albedo! = (sumatotal% + suma%(3) * .5) / 1200
  64.  
  65.         'Se muestra la gráfica de ambas temperaturas
  66.         LINE ((contador% - 1) * 533 * incremento!, 330 - temperatura1a!)-(contador% * 533 * incremento!, 330 - temperatura1!), 4
  67.         LINE ((contador% - 1) * 533 * incremento!, 330 - temperatura2a!)-(contador% * 533 * incremento!, 330 - temperatura2!), 2
  68.        
  69.         luminosidad! = luminosidad! + incremento!
  70.         temperatura1a! = temperatura1!
  71.         temperatura2a! = temperatura2!
  72.         a$ = INKEY$
  73. LOOP WHILE a$ = ""
  74.  
  75.